dbus-tree 0.9.2

Framework for writing D-Bus method handlers (legacy)
Documentation

Contains functionality for dispatching methods on a D-Bus "server".

Example

use dbus_tree::Factory;
use dbus::ffidisp::Connection;
let f = Factory::new_fn::<()>();
/* Add a method returning "Thanks!" on interface "com.example.dbus.rs"
on object path "/example". */
let t = f.tree(()).add(f.object_path("/example", ()).introspectable()
.add(f.interface("com.example.dbus.rs", ())
.add_m(f.method("CallMe", (), |m| {
Ok(vec!(m.msg.method_return().append1("Thanks!"))) }
).out_arg("s"))
));

let c = Connection::new_session().unwrap();
t.set_registered(&c, true).unwrap();
c.add_handler(t);
/* Run forever */
loop { c.incoming(1000).next(); }

See examples/server.rs and examples/adv_server.rs for more thorough examples.